home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / modules / nessus-2.2.8.mo / usr / lib / nessus / plugins / aspWebCalendar_sql.nasl < prev    next >
Text File  |  2005-01-14  |  2KB  |  81 lines

  1. #
  2. # (C) Tenable Network Security
  3. #
  4.  
  5. if(description)
  6. {
  7.  script_id(14816);
  8.  script_bugtraq_id(11246);
  9.  script_version("$Revision: 1.1 $");
  10.  name["english"] = "aspWebCalendar SQL Injection";
  11.  script_name(english:name["english"]);
  12.  
  13.  desc["english"] = "
  14. The remote host appears to be running aspWebCalendar, an ASP script
  15. designed to faciliate the integration of multiple calendars in a web-based
  16. application.
  17.  
  18. There is a flaw in the remote software which may allow anyone
  19. to inject arbitrary SQL commands, which may in turn be used to
  20. gain administrative access on the remote host.
  21.  
  22. Solution : Upgrade to the latest version of this software
  23. Risk factor : High";
  24.  
  25.  
  26.  script_description(english:desc["english"]);
  27.  
  28.  summary["english"] = "SQL Injection";
  29.  
  30.  script_summary(english:summary["english"]);
  31.  
  32.  script_category(ACT_GATHER_INFO);
  33.  
  34.  script_copyright(english:"This script is Copyright (C) 2004 Tenable Network Security");
  35.  family["english"] = "CGI abuses";
  36.  script_family(english:family["english"]);
  37.  script_dependencie("find_service.nes", "http_version.nasl");
  38.  script_require_ports("Services/www", 80);
  39.  exit(0);
  40. }
  41.  
  42. # Check starts here
  43.  
  44. include("http_func.inc");
  45. include("http_keepalive.inc");
  46.  
  47.  
  48. function check(req)
  49. {
  50.   host = get_host_name();
  51.   variables = "txtUserName=%27&txtPassword=&LoginButton=Login";
  52.   req = string("POST ", req, " HTTP/1.1\r\n", 
  53.             "Host: ", host, ":", port, "\r\n", 
  54.           "Content-Type: application/x-www-form-urlencoded\r\n", 
  55.           "Content-Length: ", strlen(variables), "\r\n\r\n", variables);
  56.  
  57.   buf = http_keepalive_send_recv(port:port, data:req);
  58.   if(buf == NULL)exit(0);
  59.  
  60.   if("error '80040e14'" >< buf && 
  61.      "'Cal_User_UserName = ''''" >< buf )
  62.       {
  63.     security_hole(port);
  64.     exit(0);
  65.     }
  66.  
  67.  
  68.  return(0);
  69. }
  70.  
  71. port = get_http_port(default:80);
  72.  
  73. if(!get_port_state(port))exit(0);
  74. if ( ! can_host_asp(port:port) ) exit(0);
  75.  
  76.  
  77. foreach dir (cgi_dirs()) 
  78.  {
  79.   check(req:dir + "/calendar.asp?action=processlogin");
  80.  }
  81.